summaryrefslogtreecommitdiff
path: root/app/[lng]/serp/page.tsx
blob: 73e8d653c15472dbc7123ea3bd40f591baa9df99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import * as React from 'react'
import { ImportButton } from '@/components/s-erp-import/import-card'
import { getSapTableCounts } from '@/lib/s-erp-import/actions'

export const dynamic = 'force-dynamic'

const TABLES = [
  'TB_SAP_EquipInfo',
  'TB_SAP_Order',
  'TB_SAP_OrderConfirm',
  'TB_SAP_OrderNotice',
  'TB_SAP_OrderBreakdown',
  'TB_SAP_MainternanceBOM',
  'TB_SAP_MaterialRepair',
  'TB_SAP_MaterialInfo',
  'TB_SAP_MaterialStock',
  'TB_SAP_MaterialRelease',
  'TB_SAP_MaterialReceiving',
  'TB_SAP_MaterialPurchase',
  // 새로 추가된 Technical Guidance 테이블들
  'Technical_Guidance_Investment',
  'Technical_Guidance_Order',
]

export default async function Page() {
  const counts = await getSapTableCounts(TABLES)

  return (
    <div className="container py-8" data-testid="s-erp-import-page">
      <h1 className="text-2xl font-bold mb-2" data-testid="page-title">S-ERP 데이터 임포트</h1>
      <p className='text-sm mb-6' data-testid="page-description">버튼을 클릭하여 엑셀 파일을 업로드 해주세요.</p>
      
      {/* RPA 가이드 정보 */}
      <div 
        className="mb-6 p-4 bg-gray-50 border rounded"
        data-testid="rpa-guide"
        style={{ display: 'none' }} // RPA가 필요할 때만 표시
      >
        <h3 className="font-semibold mb-2" data-testid="rpa-guide-title">RPA 사용 가이드</h3>
        <div className="text-sm space-y-1" data-testid="rpa-guide-content">
          <div data-testid="rpa-selector-info">
            <strong>셀렉터:</strong> [data-testid="upload-button-TABLE_NAME"]
          </div>
          <div data-testid="rpa-file-input-info">
            <strong>파일 입력:</strong> [data-testid="file-input-TABLE_NAME"]
          </div>
          <div data-testid="rpa-status-info">
            <strong>상태 확인:</strong> [data-testid="status-message-TABLE_NAME"]
          </div>
          <div data-testid="rpa-table-list-info">
            <strong>테이블 목록:</strong> [data-testid="table-list"]
          </div>
        </div>
      </div>

      <div className="flex flex-col gap-6" data-testid="table-list">
        {TABLES.map((name, index) => (
          <div 
            key={name} 
            data-testid={`table-row-${name}`}
            data-table-name={name}
            data-table-index={index}
          >
            <ImportButton tableName={name} count={counts[name] ?? 0} />
          </div>
        ))}
      </div>
    </div>
  )
}